package presentation.controller;

import businessLogic.facade.AlumnoFacade;
import java.net.InetAddress;

/**
 *
 * @author Alexander
 */
public class ControlPanelRegistro {

    public String ERRORPSWRD = "Los password no coinciden";
    public String OK = "Alumno registrado exitosamente";
    public String USEREXIST = "El nombre de usuario no está disponible";
    public final String OK_MODIFICACION = "El Alumno ha sido modificado exitosamente";

    public String registrar(vo.AlumnoVO vo, String passwd2) {
        if (!vo.getPassword().equals(passwd2)) {
            return ERRORPSWRD;
        } else if (new AlumnoFacade().find(vo.getUsername()) != null){
            return USEREXIST;
        }else {
            new AlumnoFacade().create(vo);
            return OK;
        }
    }
    
    /**
     * Obtine desde el sistema la direccion ip del equipo
     * @return La direccion IP de la maquina en formato <code>String</code>
     */
    public String ColocarIpUsuario(){
        String ip = "";
        
        try{
            InetAddress addr = InetAddress.getLocalHost();
            
            ip = addr.getHostAddress();
        }
        catch(Exception e){
            System.out.println(e.getMessage());
        }
        
        return ip;
    }
    
    /**
     * Modifica un usuario especifico en la base de datos
     * @param al Usuario que va a ser modificado
     * @param pass2 Confirmacion de la contrasenia para poder modificar el usuario
     * @return Mensaje de informacion dependiendo del resultado de la operacion
     */
    public String ModificarAlumno(vo.AlumnoVO al, String pass2){
        if (!al.getPassword().equals(pass2)) {
            return ERRORPSWRD;
        }else {
            new AlumnoFacade().update(al);
            return OK_MODIFICACION;
        }
    }
    
    /**
     * Cambia la IP del usuario al momento que hace login
     * @param al Usuario que va a ser modificado
     */
    public void ModificarIp(vo.AlumnoVO al){
        vo.AlumnoVO mod = (vo.AlumnoVO) new AlumnoFacade().find(al.getUsername());
        
        mod.setUsuarioActivo(ColocarIpUsuario() + ".true");
        new AlumnoFacade().update(mod);
    }
}
